package main

/**
1025. 除数博弈
爱丽丝和鲍勃一起玩游戏，他们轮流行动。爱丽丝先手开局。

最初，黑板上有一个数字 N 。在每个玩家的回合，玩家需要执行以下操作：

选出任一 x，满足 0 < x < N 且 N % x == 0 。
用 N - x 替换黑板上的数字 N 。
如果玩家无法执行这些操作，就会输掉游戏。

只有在爱丽丝在游戏中取得胜利时才返回 True，否则返回 False。假设两个玩家都以最佳状态参与游戏。



示例 1：

输入：2
输出：true
解释：爱丽丝选择 1，鲍勃无法进行操作。
示例 2：

输入：3
输出：false
解释：爱丽丝选择 1，鲍勃也选择 1，然后爱丽丝无法进行操作。


提示：

1 <= N <= 1000
*/
func main() {

}

/**
选出任一 x，满足 0 < x < N 且 N % x == 0 。
用 N - x 替换黑板上的数字 N 。
如果玩家无法执行这些操作，就会输掉游戏。

先思考 当 N 等于什么数字时，游戏不能进行下去

0  -> 不可以出任何数，同时 不满足 0 < x < N 且 N % x == 0 -> 输
1  -> 不可以出任何数，因为 不满足 0 < x < N 且 N % x == 0 ->输
2  -> 只可以出 1，满足 0 < 1 < 2 且 2 % 1 == 0 -> 继续 ， 而且对手必输
3  -> 只可以出 1 ，2不满足限制条件 N % x == 0  -> 继续，此时N 变为 2，当 2  在对手手上时，自己必输
4, -> 可以出 2,1
	-> 出2  -> 继续，此时N 变为 2，当 2  在对手手上时，自己必输
	-> 出1  -> 继续，此时N 变为 3，当 3  在对手手上时，对手必输

可以看出，只有手上的数比 1 大，游戏就可以继续，因为 1 无论怎么样都满足  当N>1时 , 0 < x < N 且 N % x == 0
所以最后结束的条件是手上的数字是 1

假设两个玩家都以最佳状态参与游戏，所以他们都明白这个规则，那么他们都会 尽量把 2 留到自己手上
根据游戏规则 x 需要被 N 整除， 而奇数的除数只能是奇数，奇数减奇数必然是偶数，所以只要 保证都对手的数 是奇数，那么就能稳赢

因此，只要手上的数是偶数 ，就掌握了主动权，决定到对手手上的奇偶性
*/

func divisorGame(N int) bool {

	return N&1 == 0

}
